package chapter06.s04generic.p01class;

/**
 * 泛型类的定义
 * 泛型类的声明和非泛型类的声明类似，除了在类名后面添加了类型参数声明部分。
 *
 * @param <T>
 */
public class Box<T> {

    // T ： 参数化类型，可以是任何引用型类型，不能是原始类型（像 int、double、char 等）
    private T t;

    public void add(T t) {
        this.t = t;
    }

    public T get() {
        return t;
    }

    public static void main(String[] args) {
        Box<Integer> integerBox = new Box<Integer>();
        Box<String> stringBox = new Box<String>();

        integerBox.add(new Integer(10));
        stringBox.add(new String("Java教程"));

        System.out.printf("整型值为 :%d\n\n", integerBox.get());
        System.out.printf("字符串为 :%s\n", stringBox.get());
    }
}